package com.gopay.common.domain.cbrmb;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import com.gopay.common.domain.BaseEntity;

/**
 * 
 * @ClassName: CbRemitFtpFileDtl 
 * @Description: 跨境汇款API ftp文件记录表 
 * @author gd.cui
 * @date 2016年12月16日 上午10:16:50
 */

@Entity
@Table(name = "CB_REMIT_FTP_FILE_DTL")
public class CbRemitFtpFileDtl extends BaseEntity {

	private static final long serialVersionUID = -5271907258908110798L;

	/**
	 * 主键
	 */
	private Integer id;

	/**
	 * 国付宝交易号
	 */
	private String gopayOrderId;

	/**
	 * 汇款文件表ID
	 */
	private Integer fileId;

	/**
	 * 客户ID
	 */
	private String custId;

	/**
	 * 原始文件名称
	 */
	private String oriFileName;

	/**
	 * 文件FTP地址
	 */
	private String fileFtpAddr;

	/**
	 * 上传时间
	 */
	private Date uploadDate;

	/**
	 * 状态 0 待下载 1下载进行中 2下载完成 3 下载失败
	 */

	private String downLoadState;

	/**
	 * 下载次数：最多七次
	 */
	private Integer count;

	/**
	 * 备注
	 */
	private String remarks;

	/**
	 * 创建时间
	 */
	private Date createdTs;

	/**
	 * 最后更新时间
	 */
	private Date lastUpdTs;

	/**
	 * 乐观锁版本号
	 */
	private int version;

	public CbRemitFtpFileDtl() {
	}

	public CbRemitFtpFileDtl(Integer id) {
		setId(id);
	}

	@Id
	@SequenceGenerator(name = "CbRemitFtpFileDtlSeq", sequenceName = "CB_REMIT_FTP_FILE_DTL_SEQ")
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "CbRemitFtpFileDtlSeq")
	@Column(name = "ID", unique = true, nullable = false, precision = 22, scale = 0)
	public Integer getId() {
		return this.id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	@Column(name = "GOPAY_ORDER_ID", length = 30)
	public String getGopayOrderId() {
		return this.gopayOrderId;
	}

	public void setGopayOrderId(String gopayOrderId) {
		this.gopayOrderId = gopayOrderId;
	}

	@Column(name = "CUST_ID", length = 10)
	public String getCustId() {
		return this.custId;
	}

	public void setCustId(String custId) {
		this.custId = custId;
	}

	@Column(name = "ORI_FILE_NAME", length = 200)
	public String getOriFileName() {
		return this.oriFileName;
	}

	public void setOriFileName(String oriFileName) {
		this.oriFileName = oriFileName;
	}

	@Column(name = "FILE_ID")
	public Integer getFileId() {
		return fileId;
	}

	public void setFileId(Integer fileId) {
		this.fileId = fileId;
	}

	@Column(name = "FILE_FTP_ADDR")
	public String getFileFtpAddr() {
		return fileFtpAddr;
	}

	public void setFileFtpAddr(String fileFtpAddr) {
		this.fileFtpAddr = fileFtpAddr;
	}

	@Column(name = "UPLOAD_DATE")
	public Date getUploadDate() {
		return uploadDate;
	}

	public void setUploadDate(Date uploadDate) {
		this.uploadDate = uploadDate;
	}

	@Column(name = "DOWN_LOAD_STATE")
	public String getDownLoadState() {
		return downLoadState;
	}

	public void setDownLoadState(String downLoadState) {
		this.downLoadState = downLoadState;
	}

	@Column(name = "COUNT")
	public Integer getCount() {
		return count;
	}

	public void setCount(Integer count) {
		this.count = count;
	}

	@Column(name = "REMARKS", length = 200)
	public String getRemarks() {
		return this.remarks;
	}

	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}

	@Column(name = "CREATED_TS")
	public Date getCreatedTs() {
		return this.createdTs;
	}

	public void setCreatedTs(Date createdTs) {
		this.createdTs = createdTs;
	}

	@Column(name = "LAST_UPD_TS")
	public Date getLastUpdTs() {
		return this.lastUpdTs;
	}

	public void setLastUpdTs(Date lastUpdTs) {
		this.lastUpdTs = lastUpdTs;
	}

	@Column(name = "VERSION", precision = 22, scale = 0)
	public int getVersion() {
		return this.version;
	}

	public void setVersion(int version) {
		this.version = version;
	}

}
